---
title: Husky
description: Exécutez automatiquement Ultracite sur vos fichiers Git indexés avec Husky
---

Ultracite propose une intégration transparente avec [Husky](https://typicode.github.io/husky/), un outil populaire pour gérer les hooks Git. Cette intégration configure automatiquement des hooks de pré-commit pour s'assurer que votre code est correctement formaté avant chaque commit.

## Qu'est-ce que Husky ?

Husky est un outil qui facilite l'utilisation des hooks Git dans votre projet. Les hooks Git sont des scripts qui s'exécutent automatiquement à certains moments du flux de travail Git, par exemple avant de committer ou de pousser du code. Husky simplifie le processus de configuration et de gestion de ces hooks.

## Comment Ultracite utilise Husky

Lorsque vous initialisez Ultracite dans votre projet, il peut configurer automatiquement Husky pour exécuter le formatage du code avant chaque commit. Cela garantit que :

- Tout le code committé respecte des normes de formatage cohérentes
- Les contrôles de qualité du code sont appliqués automatiquement
- Les membres de l'équipe n'ont pas besoin de se souvenir de formater le code manuellement
- Votre dépôt conserve un style de code propre et cohérent

## Comportement du hook de pré-commit

L'intégration Husky d'Ultracite crée un hook de pré-commit qui exécute la commande suivante :

```bash
npx ultracite fix
```

Cette commande :
- Exécute le linter et l'outil de formatage de Biome sur votre base de code
- Corrige automatiquement les problèmes de formatage lorsque c'est possible
- S'assure que tous les fichiers indexés respectent les normes de code de votre projet
- Empêche les commits qui introduiraient des incohérences de formatage

## Configuration automatique

Lors du processus d'initialisation (`ultracite init`), si vous sélectionnez l'option Husky, Ultracite :

1. **Installe Husky**: Ajoute Husky comme dépendance de développement à votre projet
2. **Crée le fichier de hook**: Configure le fichier `.husky/pre-commit` avec la commande de formatage
3. **Gère les configurations existantes**: Si vous avez déjà Husky configuré, il met à jour votre hook de pré-commit existant plutôt que de l'écraser

## Détails de l'intégration

L'intégration Husky inclut plusieurs fonctionnalités intelligentes :

### Gestion des dépendances
- Installe automatiquement Husky comme dépendance de développement en utilisant le gestionnaire de paquets de votre projet
- Utilise la commande appropriée du gestionnaire de paquets (`npm install -D`, `yarn add -D`, `pnpm add -D`, etc.)

### Gestion des hooks
- **Nouveaux projets**: Crée un nouveau `.husky/pre-commit` fichier avec la commande ultracite fix
- **Projets existants**: Ajoute la commande Ultracite à votre hook de pré-commit existant, en préservant les autres hooks que vous avez pu configurer

### Structure des fichiers
L'intégration crée ou modifie :
```
.husky/
└── pre-commit    # Contains the formatting command
```

## Avantages

### Style de code cohérent
Chaque commit suit automatiquement les standards de formatage de votre projet, éliminant les débats et les incohérences de style.

### Contrôle qualité automatisé
Détectez les problèmes de formatage avant qu'ils n'entrent dans votre dépôt, en maintenant un historique de commits propre.

### Collaboration en équipe
Tous les membres de l'équipe suivent automatiquement les mêmes règles de formatage sans intervention manuelle.

### Optimisation CI/CD
Réduisez les échecs de pipelines CI/CD dus à des problèmes de formatage, puisque le code est pré-formaté localement.

## Intégration au flux de travail

Avec l'intégration Husky activée, votre flux de travail Git typique devient :

1. **Effectuez des modifications** sur vos fichiers de code
2. **Indexez les modifications** avec `git add`
3. **Validez les modifications** avec `git commit`
4. **Le hook de pré-commit s'exécute** automatiquement, formatant les fichiers indexés
5. **Le commit se poursuit** avec du code correctement formaté

Si le formateur effectue des modifications, vous devrez également indexer et valider ces modifications.

## Personnalisation

Bien qu'Ultracite configure des valeurs par défaut sensées, vous pouvez personnaliser le comportement :

- Modifiez `.husky/pre-commit` pour ajouter des commandes supplémentaires
- Configurez les paramètres de Biome pour ajuster les règles de formatage
- Ajoutez d'autres vérifications de pré-commit en plus du formatage d'Ultracite

## Dépannage

### Le hook ne s'exécute pas
Si le hook de pré-commit ne s'exécute pas :
- Assurez-vous que Husky est installé : `npm ls husky`
- Vérifiez que `.husky/pre-commit` existe et est exécutable
- Vérifiez que les hooks Git sont activés dans votre dépôt

### Problèmes de permissions
Sur les systèmes de type Unix, assurez-vous que le fichier de hook est exécutable :
```bash
chmod +x .husky/pre-commit
```

### Contourner les hooks
Dans de rares cas où vous devez ignorer le hook de pré-commit :
```bash
git commit --no-verify
```

Utilisez ceci avec parcimonie, car cela contourne le formatage automatisé qui maintient la cohérence de votre code.